<?php

/**
 * controler para movimientos de ingreso stock
 *
 * @author rpuppi
 */


require $_SERVER['DOCUMENT_ROOT'].'/gourmet-express/trunk/src/class/po/proveedores/DP/PoProveedorDP.class.php';
require $_SERVER['DOCUMENT_ROOT'].'/gourmet-express/trunk/src/class/po/proveedores/FN/PoProveedorFN.class.php';
require_once($_SERVER['DOCUMENT_ROOT'].'/gourmet-express/trunk/src/class/common/mc/FN/XxMaestroListaFN.class.php');
//require $_SERVER['DOCUMENT_ROOT'].'/gourmet-express/trunk/src/views/proveedores/Proveedor.php';

class ProveedorController extends ControllerBase
{

	public function listarProveedorAutocomplete()
	{
	    $a_result = array();
		$o_PoProveedorFN = new PoProveedorFN();

        if ($this->requestVars){
            if (array_key_exists('term', $this->requestVars)) {
                $o_PoProveedorFN->setNombre($this->requestVars["term"]);
            }
        }
        
        $result = $o_PoProveedorFN->select();   
        
        if($result)   
        {  
            foreach($result as $key => $obj)	
	        {
            
              $a_res['proveedorId'] = $obj->getProveedorId();
              $a_res['nombre']      = $obj->getNombre();
              $a_res['docIdent']    = $obj->getDocIdent();                            
              array_push( $a_result, $a_res );
	        }
        }  
        echo json_encode($a_result);
       
	}

    public function listarProveedor(){

        $o_PoProveedorFN = new PoProveedorFN();
     
		$page = isset($this->requestVars['page']) ? $this->requestVars['page'] : 1;
		$rp = isset($this->requestVars['rp']) ? $this->requestVars['rp'] : 10;
		$sortname = isset($this->requestVars['sortname']) ? $this->requestVars['sortname'] : 'name';
		$sortorder = isset($this->requestVars['sortorder']) ? $this->requestVars['sortorder'] : 'desc';
	
		$o_PoProveedorFN->page = $page;
		$o_PoProveedorFN->tamPag = $rp;
		$o_PoProveedorFN->sortCampos = $sortname;
		$o_PoProveedorFN->sortType   = $sortorder;
        
        
        if ($this->requestVars){
            if (array_key_exists('proveedorId', $this->requestVars)) {
                $o_PoProveedorFN->setProveedorId($this->requestVars["proveedorId"]);   
            }
            if (array_key_exists('tipo', $this->requestVars)) {
                $o_PoProveedorFN->tipo           = $this->requestVars["tipo"];
            }
            if (array_key_exists('nombre', $this->requestVars)) {
                 $o_PoProveedorFN->setNombre($this->requestVars["nombre"]);
            }
            if (array_key_exists('docIdent', $this->requestVars)) {
                $o_PoProveedorFN->docIdent          = $this->requestVars["docIdent"];
            }
            if (array_key_exists('nacExt', $this->requestVars)) {
                $o_PoProveedorFN->nacExt  = $this->requestVars["nacExt"];
            }
            if (array_key_exists('direcc1', $this->requestVars)) {
                $o_PoProveedorFN->direcc1     = $this->requestVars["direcc1"];
            }
            if (array_key_exists('direcc2', $this->requestVars)) {
                $o_PoProveedorFN->direcc2  = $this->requestVars["direcc2"];
            }
            if (array_key_exists('ciudad', $this->requestVars)) {
                $o_PoProveedorFN->ciudad        = $this->requestVars["ciudad"];
            }
            if (array_key_exists('direccEstado', $this->requestVars)) {
                $o_PoProveedorFN->direccEstado         = $this->requestVars["direccEstado"];
            }
            if (array_key_exists('pais', $this->requestVars)) {
                $o_PoProveedorFN->pais         = $this->requestVars["pais"];
            }
            if (array_key_exists('telefono', $this->requestVars)) {
                $o_PoProveedorFN->telefono         = $this->requestVars["telefono"];
            }
            if (array_key_exists('email', $this->requestVars)) {
                $o_PoProveedorFN->email         = $this->requestVars["email"];
            }
            if (array_key_exists('contacto', $this->requestVars)) {
                $o_PoProveedorFN->contacto         = $this->requestVars["contacto"];
            }
            if (array_key_exists('terminosPago', $this->requestVars)) {
                $o_PoProveedorFN->terminosPago         = $this->requestVars["terminosPago"];
            }
            if (array_key_exists('hold', $this->requestVars)) {
                $o_PoProveedorFN->hold         = $this->requestVars["hold"];
            }            
            if (array_key_exists('creditLimit', $this->requestVars)) {
                $o_PoProveedorFN->creditLimit         = $this->requestVars["creditLimit"];
            }            
            if (array_key_exists('plazoDiasPago', $this->requestVars)) {
                $o_PoProveedorFN->plazoDiasPago         = $this->requestVars["plazoDiasPago"];
            }
            if (array_key_exists('inicioFecha', $this->requestVars)) {
                $o_PoProveedorFN->inicioFecha         = $this->requestVars["inicioFecha"];
            }
            if (!array_key_exists('nombre', $this->requestVars) && !array_key_exists('proveedorId', $this->requestVars)){
                if (!$this->requestVars["estado"]) {
                    $o_PoProveedorFN->setEstado("A");
                }else{
                    $o_PoProveedorFN->estado = $o_PoProveedorFN->setEstado($this->requestVars["estado"]);
                }
            }
            if (array_key_exists('creaUsr', $this->requestVars)) {
                $o_PoProveedorFN->creaUsr         = $this->requestVars["creaUsr"];
            }
            if (array_key_exists('modifUser', $this->requestVars)) {
                $o_PoProveedorFN->modifUser         = $this->requestVars["contacto"];
            }
            if (array_key_exists('creaFecha', $this->requestVars)) {
                $o_PoProveedorFN->creaFecha         = $this->requestVars["creaFecha"];
            }
            if (array_key_exists('modifFecha', $this->requestVars)) {
                $o_PoProveedorFN->modifFecha         = $this->requestVars["modifFecha"];
            }
        }

		 $result = $o_PoProveedorFN->select();     
        $vars['result'] = $result;
        $vars['proveedorFN'] = $o_PoProveedorFN;
        if (array_key_exists('modoBusqueda', $this->requestVars)) {
            $vars['modoBusqueda'] = $this->requestVars["modoBusqueda"];
        }else{
            $vars['modoBusqueda'] = "";
        }
        $this->view->show("po/Proveedores/ProveedorLista",$vars);
    }


    public function listarProveedorForm(){
        $this->view->show("po/proveedores/ProveedorListaForm",$vars);
    }


    public function shwForm(){
        $vars                             = array();
        $o_Proveedor                      = new PoProveedorFN();
        $o_PoProveedorFN                  = new PoProveedorFN();
        $o_XxXxMaestroListaFN = new XxMaestroListaFN();
        $o_XxXxMaestroListaFN->setListaId('tipoprovee');
        $ao_tipo_proveedor = $o_XxXxMaestroListaFN->select();
        
        $o_XxXxMaestroListaFN->setListaId('lstProvEst');
        $ao_estado_proveedor = $o_XxXxMaestroListaFN->select();
        
        $o_XxXxMaestroListaFN->setListaId('frmPagCmp');
        $ao_forma_pago = $o_XxXxMaestroListaFN->select();
        
        if ($this->requestVars){

            if (array_key_exists('prv_proveedorId', $this->requestVars)) {

                if ($this->requestVars["prv_proveedorId"]){
                    $o_PoProveedorFN->setProveedorId($this->requestVars["prv_proveedorId"]);
                    $o_Proveedor              = $o_PoProveedorFN->selectByPK();                 
                }
            } 
        }
        $vars['o_Proveedor'] = $o_Proveedor;
        $vars['ao_tipoProvee'] = $ao_tipo_proveedor;
        $vars['ao_formaPago'] = $ao_forma_pago;
        $vars['ao_estado_proveedor'] = $ao_estado_proveedor;
        
        $this->view->show("po/proveedores/Proveedor",$vars); //levanta la vista
    }



     public function registrarProveedor(){
	   if ($this->requestVars)
	   {
            $o_PoProveedorDP = new PoProveedorDP();
            $o_PoProveedorDP->setTipo($this->requestVars["tipo"]);
            $o_PoProveedorDP->setNombre($this->requestVars["nombre"]);
            $o_PoProveedorDP->setDocIdent($this->requestVars["docIdent"]);
            $o_PoProveedorDP->setNacExt($this->requestVars["nacExt"]);
            $o_PoProveedorDP->setDirecc1($this->requestVars["direcc1"]);
            $o_PoProveedorDP->setDirecc2($this->requestVars["direcc2"]);
            $o_PoProveedorDP->setCuidad($this->requestVars["ciudad"]);
            $o_PoProveedorDP->setDireccestado($this->requestVars["direccEstado"]);
            $o_PoProveedorDP->setPais($this->requestVars["pais"]);
            $o_PoProveedorDP->setTelefono($this->requestVars["telefono"]);
            $o_PoProveedorDP->setEmail($this->requestVars["email"]);
            $o_PoProveedorDP->setContacto($this->requestVars["contacto"]);
            $o_PoProveedorDP->setTerminosPago($this->requestVars["terminosPago"]);
            $o_PoProveedorDP->setPlazoDiasPago($this->requestVars["plazoDiasPago"]);
            $o_PoProveedorDP->setHold($this->requestVars["hold"]);            
            $o_PoProveedorDP->setCreditLimit($this->requestVars["creditLimit"]);        
            $o_PoProveedorDP->setInicioFecha($this->requestVars["inicioFecha"]);
            if (!$this->requestVars["indEstado"]){
                $this->requestVars["indEstado"] = "N";
            }
            $o_PoProveedorDP->setEstado($this->requestVars["indEstado"]);
            $o_PoProveedorDP->setCreaUsr($this->requestVars["creaUsr"]);
            $o_PoProveedorDP->setModifFecha($this->requestVars["modifFecha"]);
            $o_PoProveedorDP->setCreaFecha($this->requestVars["creaFecha"]);
           
            $proveedorId = $o_PoProveedorDP->save();
            //header("location:?do=Proveedor&accion=shwForm&prv_proveedorId=".$proveedorId);
           if ($proveedorId){ 
               $a_result['proveedorId'] = $proveedorId;
               $a_result['rpta'] = 'true';            
           }else{
               $msgError = 'Error al registrar';
           }

	   }
        echo json_encode($a_result);
     }
     
     public function actualizarProveedor(){
	   if ($this->requestVars)
	   {
            $o_PoProveedorDP = new PoProveedorDP();
            $o_PoProveedorDP->setProveedorId($this->requestVars["prv_proveedorId"]);
            $o_PoProveedorDP->setTipo($this->requestVars["tipo"]);
            $o_PoProveedorDP->setNombre($this->requestVars["nombre"]);
            $o_PoProveedorDP->setDocIdent($this->requestVars["docIdent"]);
            $o_PoProveedorDP->setNacExt($this->requestVars["nacExt"]);
            $o_PoProveedorDP->setDirecc1($this->requestVars["direcc1"]);
            $o_PoProveedorDP->setDirecc2($this->requestVars["direcc2"]);
            $o_PoProveedorDP->setCuidad($this->requestVars["ciudad"]);
            $o_PoProveedorDP->setDireccestado($this->requestVars["direccEstado"]);
            $o_PoProveedorDP->setPais($this->requestVars["pais"]);
            $o_PoProveedorDP->setTelefono($this->requestVars["telefono"]);
            $o_PoProveedorDP->setEmail($this->requestVars["email"]);
            $o_PoProveedorDP->setContacto($this->requestVars["contacto"]);
            $o_PoProveedorDP->setTerminosPago($this->requestVars["terminosPago"]);
            $o_PoProveedorDP->setPlazoDiasPago($this->requestVars["plazoDiasPago"]);
            $o_PoProveedorDP->setHold($this->requestVars["hold"]);            
            $o_PoProveedorDP->setCreditLimit($this->requestVars["creditLimit"]);            
            $o_PoProveedorDP->setInicioFecha($this->requestVars["inicioFecha"]);
            if (!$this->requestVars["indEstado"]){
                $this->requestVars["indEstado"] = "N";
            }            
            $o_PoProveedorDP->setEstado($this->requestVars["indEstado"]);
            $o_PoProveedorDP->setCreaUsr($this->requestVars["creaUsr"]);
            $o_PoProveedorDP->setModifFecha($this->requestVars["modifFecha"]);
            $o_PoProveedorDP->setCreaFecha($this->requestVars["creaFecha"]);
            
            if ($o_PoProveedorDP->update()){
               $a_result['proveedorId'] = $this->requestVars["prv_proveedorId"];
               $a_result['rpta'] = 'true';                   
            }else{
                $msgError = 'Error al registrar';
            }
            echo json_encode($a_result);
            //header("location:?do=Proveedor&accion=shwForm&prv_proveedorId=".$proveedorId);

	   }
     }
     
    public function detalle(){
        $vars                             = array();
        $o_Proveedor                      = new PoProveedorFN();
        $o_PoProveedorFN                  = new PoProveedorFN();
        $o_XxXxMaestroListaFN = new XxMaestroListaFN();
        $o_XxXxMaestroListaFN->setListaId('tipoprovee');
        $ao_tipo_proveedor = $o_XxXxMaestroListaFN->select();
        
        $o_XxXxMaestroListaFN->setListaId('lstProvEst');
        $ao_estado_proveedor = $o_XxXxMaestroListaFN->select();
        
        if ($this->requestVars){

            if (array_key_exists('prv_proveedorId', $this->requestVars)) {

                if ($this->requestVars["prv_proveedorId"]){
                    $o_PoProveedorFN->setProveedorId($this->requestVars["prv_proveedorId"]);
                    $o_Proveedor              = $o_PoProveedorFN->selectByPK();                 
                }
            } 
        }
        $vars['o_Proveedor'] = $o_Proveedor;
        $vars['ao_tipoProvee'] = $ao_tipo_proveedor;
        $vars['ao_estado_proveedor'] = $ao_estado_proveedor;
        
        $this->view->show("po/proveedores/detalle",$vars); //levanta la vista
    }

     public function eliminarProveedor(){
        /* 
        $proveedorId = "";
        if ($this->requestVars){
            $ProveedorBnController        = new ProveedorBnController();
            if (array_key_exists('proveedorId', $this->requestVars)) {
                if ($this->requestVars["proveedorId"]){
                    session_start();
                    if ($ProveedorBnController->eliminarProveedor($this->requestVars["proveedorId"])){
                       $_SESSION['msgAlert'] = "Proveedor eliminado";
                    }else{
                       $_SESSION['msgAlert'] = "Error al eliminar";
                       $proveedorId = $this->requestVars["proveedorId"];
                    }
                }
            }
        }
        header("location:?do=Proveedor&accion=shwForm&prv_proveedorId=".$proveedorId);
        */
     }
}
?>